#define CRT_SECURE_NO_WARNINGS 1


//#include<stdio.h>
//
//size_t my_strlen(const char* str)
//{
//	char* begin = str;
//	while (*str++);
//	return str - begin;
//}
//int main()
//{
//	char str[] = "asdfghjkl";
//	size_t ret = my_strlen(str);
//	printf("%zd\n", ret);
//	return 0;
//}



//#include<stdio.h>
//char* my_strcmp(char* str2, const char* str)
//{
//	char* ret = str2;
//	while (*str2++ = *str++);
//
//	return ret;
//}
//
//int main()
//{
//	char str[] = "asdfghjkl";
//	char str2[20] = { 0 };
//	my_strcmp(str2, str);
//	printf("%s\n", str2);
//	return 0;
//}

//#include<stdio.h>
//char* my_strcat(char* str2, const char* str)
//{
//	char* ret = str2;
//	while (*str2 != '\0')
//	{
//		str2++;
//	}
//	while (*str2++ = *str++);
//
//	return ret;
//}
//
//int main()
//{
//	char str[] = "asdfghjkl";
//	char str2[20] = "12345";
//	my_strcat(str2, str);
//	printf("%s\n", str2);
//	return 0;
//}


//#include <stdio.h>
//#include<string.h>
//char n[20000] = { 0 };
//int main() {
//
//    gets(n);
//    int len = strlen(n);
//
//    if (len % 3 == 0)
//    {
//        int i = 0;
//        while (i < len)
//        {
//            if (i % 3 == 0 && i)
//            {
//                printf(",");
//            }
//            printf("%c", n[i]);
//            i++;
//
//        }
//    }
//    else if (len % 3 == 1)
//    {
//        int i = 0;
//        while (i < len)
//        {
//            if (i % 3 == 1&&i)
//            {
//                printf(",");
//            }
//            printf("%c", n[i]);
//            i++;
//
//        }
//    }
//    else
//    {
//        int i = 0;
//        while (i < len)
//        {
//            if (i % 3 == 2&&i)
//            {
//                printf(",");
//            }
//            printf("%c", n[i]);
//            i++;
//
//        }
//    }
//
//    return 0;
//}

#include <stdio.h>
int main()
{
	int a[4] = { 1, 2, 3, 4 };
	int* ptr1 = (int*)(&a + 1);
	int* ptr2 = (int*)((int)a + 1);
	printf("%x,%x", ptr1[-1], *ptr2);
	return 0;
}